home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dlasq3.z / dlasq3
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDLLLLAAAASSSSQQQQ3333((((3333FFFF))))                                                          DDDDLLLLAAAASSSSQQQQ3333((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DLASQ3 - DLASQ3 is the workhorse of the whole bidiagonal SVD algorithm
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      SUBROUTINE DLASQ3( N, Q, E, QQ, EE, SUP, SIGMA, KEND, OFF, IPHASE, ICONV,
  13.                         EPS, TOL2, SMALL2 )
  14.  
  15.          INTEGER        ICONV, IPHASE, KEND, N, OFF
  16.  
  17.          DOUBLE         PRECISION EPS, SIGMA, SMALL2, SUP, TOL2
  18.  
  19.          DOUBLE         PRECISION E( * ), EE( * ), Q( * ), QQ( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.         DLASQ3 is the workhorse of the whole bidiagonal SVD algorithm.
  23.         This can be described as the differential qd with shifts.
  24.  
  25.  
  26. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  27.      N       (input/output) INTEGER
  28.              On entry, N specifies the number of rows and columns in the
  29.              matrix. N must be at least 3.  On exit N is non-negative and less
  30.              than the input value.
  31.  
  32.      Q       (input/output) DOUBLE PRECISION array, dimension (N)
  33.              Q array in ping (see IPHASE below)
  34.  
  35.      E       (input/output) DOUBLE PRECISION array, dimension (N)
  36.              E array in ping (see IPHASE below)
  37.  
  38.      QQ      (input/output) DOUBLE PRECISION array, dimension (N)
  39.              Q array in pong (see IPHASE below)
  40.  
  41.      EE      (input/output) DOUBLE PRECISION array, dimension (N)
  42.              E array in pong (see IPHASE below)
  43.  
  44.      SUP     (input/output) DOUBLE PRECISION
  45.              Upper bound for the smallest eigenvalue
  46.  
  47.      SIGMA   (input/output) DOUBLE PRECISION
  48.              Accumulated shift for the present submatrix
  49.  
  50.      KEND    (input/output) INTEGER
  51.              Index where minimum D(i) occurs in recurrence for splitting
  52.              criterion
  53.  
  54.      OFF     (input/output) INTEGER
  55.              Offset for arrays
  56.  
  57.      IPHASE  (input/output) INTEGER
  58.              If IPHASE = 1 (ping) then data is in Q and E arrays If IPHASE = 2
  59.              (pong) then data is in QQ and EE arrays
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDLLLLAAAASSSSQQQQ3333((((3333FFFF))))                                                          DDDDLLLLAAAASSSSQQQQ3333((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      ICONV   (input) INTEGER
  75.              If ICONV = 0 a bottom part of a matrix (with a split) If ICONV
  76.              =-3 a top part of a matrix (with a split)
  77.  
  78.      EPS     (input) DOUBLE PRECISION
  79.              Machine epsilon
  80.  
  81.      TOL2    (input) DOUBLE PRECISION
  82.              Square of the relative tolerance TOL as defined in DLASQ1
  83.  
  84.      SMALL2  (input) DOUBLE PRECISION
  85.              A threshold value as defined in DLASQ1
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.